package cwiczenia;

import java.io.*;
import java.net.URL;
import java.net.URISyntaxException;
import java.net.URLConnection;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LicznikNaAtrybucie extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    int i = 0;
    String glupiPlik = "X:\\mimuw\\Java - wybrane technologie\\IDEA Project\\Lab 04 - Serwlety cd\\resources\\licznik";

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf8");
        PrintWriter pw = response.getWriter();

        pw.println("<html>");
        pw.println("<head>");
        pw.println("</head>");
        pw.println("<body>");
        pw.println("<h3>LicznikNaAtrybucie</h3>");

//        InputStream is = getServletContext().getResourceAsStream("/plik-z-wartoscia");
//        while (true) {
//            int a = is.read();
//            if (a < 0) break;
//            pw.print((char) a);
//        }

        // to musi sie dac jakos inaczej
        int licznik;
        if (!new File(glupiPlik).exists())
            licznik = 0;
        else {
            ObjectInputStream ois = new ObjectInputStream(new FileInputStream(glupiPlik));
            licznik = ois.readInt();
            ois.close();
        }

        // atrybut klasy
        synchronized (this) {
            pw.println("aktualna wartość: " + licznik++);
        }

        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(glupiPlik));
        oos.writeInt(licznik);
        oos.close();

        pw.println("</body>");
        pw.println("</html>");
        pw.close();
    }
}